#include "LED.h"

/**
 * @brief 初始化LED
 * 
 * 此函数用于初始化LED。具体实现细节取决于硬件配置和驱动程序。
 * 
 * @return esp_err_t 返回ESP_OK表示成功，否则返回错误码
 */
esp_err_t LED_Init()
{
    // 定义一个gpio_config_t类型的结构体变量LedGpioconfigStruct，用于配置LED的GPIO引脚
    gpio_config_t LedGpioconfigStruct;
    // 设置GPIO引脚的中断类型为禁用
    LedGpioconfigStruct.intr_type = GPIO_INTR_DISABLE;
    // 设置GPIO引脚的模式为输出
    LedGpioconfigStruct.mode = GPIO_MODE_OUTPUT;
    // 设置GPIO引脚的位掩码，用于指定要配置的引脚
    LedGpioconfigStruct.pin_bit_mask = (uint64_t)(1 << LED_PIN);
    // 设置GPIO引脚的下拉电阻为禁用
    LedGpioconfigStruct.pull_down_en = GPIO_PULLDOWN_DISABLE;
    // 设置GPIO引脚的上拉电阻为启用
    LedGpioconfigStruct.pull_up_en = GPIO_PULLUP_ENABLE;
    // 调用gpio_config函数，将配置应用到LED的GPIO引脚
    return gpio_config(&LedGpioconfigStruct);
    // return ESP_OK;
}

/**
 * @brief 打开LED灯
 * 
 * 此函数用于打开LED灯。具体实现细节取决于硬件配置和驱动程序。
 * 
 * @return 无
 */
void LED_Open()
{
    gpio_set_level(LED_PIN, 1);
}

void LED_Close()
{
    gpio_set_level(LED_PIN, 0);
}